#include "iwdg.h"

/// 超时时间为 IWDG_Prescaler_x 中的 x / 40 * Reload ms
/// 例如：IWDG_Prescaler_16 ，Reload = 750 ，则超时时间是 16 / 40 * 750 = 300 ms
void IWDG_Init(uint8_t IWDG_Prescaler, uint16_t Reload)
{
    // 使能 预分频寄存器PR和重装载寄存器RLR可写
    IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
    // 设置预分频器值
    IWDG_SetPrescaler(IWDG_Prescaler);
    // 设置重装载寄存器值
    IWDG_SetReload(Reload);
    // 把重装载寄存器的值放到计数器中
    IWDG_ReloadCounter();
    // 使能 IWDG
    IWDG_Enable();
}
